home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / misc-part1 / 2454 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  3.5 KB

  1. Path: EU.net!sun4nl!xs4all!usenet
  2. From: jtv@xs4all.nl (Jeroen T. Vermeulen)
  3. Newsgroups: comp.sys.amiga.misc
  4. Subject: Re: OS features
  5. Date: Sat, 20 Jan 96 20:17:27
  6. Organization: Leiden University, Mathematics & Computer Science, The Netherlands
  7. Message-ID: <19960120.7B57BE0.122A3@asd01-04.dial.xs4all.nl>
  8. References: <DLAA61.2us@inter.NL.net> <4dh2dm$jui@serpens.rhein.de> <1292.6592T166T2158@algonet.se> <4do01q$fmc@serpens.rhein.de>
  9. NNTP-Posting-Host: asd01-04.dial.xs4all.nl
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=iso-8859-1
  12. Content-Transfer-Encoding: 8bit
  13. X-NewsSoftware: GRn 2.1 Feb 19, 1994
  14.  
  15.  
  16. In article <4do01q$fmc@serpens.rhein.de> mlelstv@serpens.rhein.de (Michael van Elst) writes:
  17. > betasoft@algonet.se (Mattias Karlsson) writes:
  18. >
  19. > >I must say that MEMF_PUBLIC is an excelent way to say: Hey, this piece of mem
  20. > >is going to be used by other programms as well so you better let them do it.
  21. >
  22. > It also has other meanings and isn't used consistently. For example, it
  23. > also rules out that the memory is swapped out. But why would you lock
  24. > shared memory in real memory when there is no reason ?
  25.  
  26. I think it's because Forbid()/Permit() is still used in a lot of places where
  27. the OS should have defined a separate semaphore (and probably implemented
  28. deadlock detection and resolution as well).  So this memory is *more likely* to
  29. page-fault during Forbid().
  30.  
  31. The problem here is that VM access implies that you may have to access the disk
  32. to service a page fault, and the driver for that disk is a separate task that
  33. can't be switched in during Forbid().  With VMM at least, accessing private VM
  34. during Forbid() is "usually" safe <shudder> because it's usually swapped in.
  35.  
  36. VMM's implementation aside (which uses yet another task as a page server), I
  37. think the only real solution to the problem is to either
  38.  
  39. [1] implement a special driver for the swap device as a single-threaded library,
  40. more or less like other OS's do (boo!), or
  41.  
  42. [2] make a radical change:  Design around the problem for the new PPC OS so the
  43. problem is limited to the 68k emulator (compatibility vs VM/MP--past vs future!)
  44. and allow the driver to be switched in but without affecting the emulator's
  45. virtual public memory space.
  46.  
  47. Solution [2] might even be possible without introducing incompatibility,
  48. provided that the device driver gets a chance to "sneak in through the crack
  49. under the door" by doing its work without appearing in the public process list.
  50. Effectively this means that public memory as we know it is turned into a virtual
  51. environment, and a new layer is added below.
  52.  
  53. The easiest change would perhaps be, to have multiple public-memory pools for
  54. different groups of communicating processes, each guarded by a semaphore, and
  55. change the meaning of the current Forbid() calls to "Obtain non-shared (write)
  56. access to all virtual public memory spaces accessible to me".
  57.  
  58. This wouldn't eliminate public memory altogether, but perhaps a lot of current
  59. "public" structures could be either copied into multiple public spaces (and
  60. frozen at Forbid() time) or simply protected from write access.
  61.  
  62.  
  63. >                                 Michael van Elst
  64. > Internet: mlelstv@serpens.rhein.de
  65. >                                 "A potential Snark may lurk in every tree."
  66.  
  67.  
  68. --
  69. ============================================================================
  70. #  Jeroen T. Vermeulen   \"How are we doing kid?"/   Yes, we use Amigas.   #
  71. #---  jtv@xs4all.nl    ---\"Oh, same as always."/--         ...          --#
  72. #jvermeul@wi.leidenuniv.nl \ "That bad, huh?"  /  Got a problem with that? #
  73.